package ar.edu.utn.frsf.tpae.a2012.g05.mock;

import java.util.ArrayList;
import java.util.List;

import ar.edu.utn.frsf.tpae.a2012.g05.dao.MovimientoDao;
import ar.edu.utn.frsf.tpae.a2012.g05.entity.Movimiento;

public class MovimientoMockDao implements MovimientoDao {
	private List<Movimiento> movimientos = new ArrayList<Movimiento>();

	public Movimiento saveOrUpdate(Movimiento movimiento) {
		this.movimientos.add(movimiento);
		return movimiento;
	}

	public void delete(Movimiento movimiento) throws Exception {
		if (!this.movimientos.remove(movimiento))
			throw new Exception("El elemento que se intenta eliminar no existe");
	}

	public Movimiento findById(Long id) {
		for(Movimiento movimiento : this.movimientos) {
			if(movimiento.getId() == id)
				return movimiento;
		}
		return null;
	}

	public List<Movimiento> findAll() {
		return this.movimientos;
	}

}
